﻿using System;
using Microsoft.Xna.Framework;
using Terraria.Localization;

namespace Terraria.ModLoader
{
	// Token: 0x020001B9 RID: 441
	internal struct MapEntry
	{
		// Token: 0x060011CD RID: 4557 RVA: 0x0000EF2E File Offset: 0x0000D12E
		internal MapEntry(Color color, LocalizedText name = null)
		{
			if (name == null)
			{
				name = LocalizedText.Empty;
			}
			this.color = color;
			this.name = name;
			this.translation = null;
			this.getName = new Func<string, int, int, string>(MapEntry.sameName);
		}

		// Token: 0x060011CE RID: 4558 RVA: 0x0000EF61 File Offset: 0x0000D161
		internal MapEntry(Color color, ModTranslation name)
		{
			this.color = color;
			this.name = null;
			this.translation = name;
			this.getName = new Func<string, int, int, string>(MapEntry.sameName);
		}

		// Token: 0x060011CF RID: 4559 RVA: 0x0000EF8A File Offset: 0x0000D18A
		internal MapEntry(Color color, LocalizedText name, Func<string, int, int, string> getName)
		{
			this.color = color;
			this.name = name;
			this.translation = null;
			this.getName = getName;
		}

		// Token: 0x060011D0 RID: 4560 RVA: 0x0000EFA8 File Offset: 0x0000D1A8
		internal MapEntry(Color color, ModTranslation name, Func<string, int, int, string> getName)
		{
			this.color = color;
			this.name = null;
			this.translation = name;
			this.getName = getName;
		}

		// Token: 0x060011D1 RID: 4561 RVA: 0x0000EFC6 File Offset: 0x0000D1C6
		private static string sameName(string name, int x, int y)
		{
			return name;
		}

		// Token: 0x040013F0 RID: 5104
		internal Color color;

		// Token: 0x040013F1 RID: 5105
		internal LocalizedText name;

		// Token: 0x040013F2 RID: 5106
		internal ModTranslation translation;

		// Token: 0x040013F3 RID: 5107
		internal Func<string, int, int, string> getName;
	}
}
